<?php

class Registrati extends CI_Controller {

	public function __construct()
	{
		parent::__construct();	
		$this->load->model('registrati_model');
		$this->load->library('email');
	}
	
	public function index(){
		$data['arr_css'][0] = base_url()."assets/css/registrati.css";
		$data['arr_js'][0] = base_url()."registrati/javascript";
		$data['proprietario_bacheca'] = "Clanny.it | Registrati";
		$this->load->view('fissi/html_start' , $data);
		$this->load->view('fissi/menu');
		$this->load->view('registrati/form_registrati');
		$this->load->view('fissi/html_end');
	}
	
	
	// questo è il javascript dfella registrazioen utente
	public function javascript(){
		$this->load->view('registrati/javascript');
	}
	
	
	// Questo è il javascript del recupero password
	public function recupera_javascript(){
		$this->load->view('registrati/recupera_javascript');
	}
	
	public function registra_ok(){
		$data['arr_css'][0] = base_url()."assets/css/registrati.css";
		$data['arr_js'][0] = base_url()."registrati/javascript";
		$data['proprietario_bacheca'] = "Clanny.it | Registrazione avvenuta";
		$this->load->view('fissi/html_start' , $data);
		$this->load->view('fissi/menu');
		$this->load->view('registrati/registrazione_avvenuta');
		$this->load->view('fissi/html_end');
	}
	
	
	// Questa serve ad attivare la registrazione utente
	public function attiva_utente($id_utente=false){
		$data['arr_css'][0] = base_url()."assets/css/registrati.css";
		$data['arr_js'][0] = base_url()."registrati/javascript";
		$data['proprietario_bacheca'] = "Clanny.it | Attivazione Account Utente";
		$this->load->view('fissi/html_start' , $data);
		$this->load->view('fissi/menu');
		
		if($id_utente){
			$risultato = array();
			$risultato = $this->registrati_model->attiva_utente($id_utente);
			
			// Attivazione avvenuta
			if($risultato['esito']=="1"){
				$data_succ['mess_txt'] = 	$risultato['esito_txt'] ; 
				$this->load->view('registrati/successo_attivazione' , $data_succ );
			}
			// Errore al momento dell'attivazione
			else{
				$data_err['errore_txt'] = $risultato['esito_txt'];
				$this->load->view('registrati/errore_attivazione' , $data_err);
			}
			
		}
		else{
			$data_err['errore_txt'] = "Errore nella composizione del link. Contattare il webmaster.";
			$this->load->view('registrati/errore_attivazione' , $data_err);
		}
		
		$this->load->view('fissi/html_end');
		
		if($risultato['esito']=="1" && $id_utente){
			$this->attivazione_email_dati_login($id_utente);
		}
	}
	
	
	public function attivazione_email_dati_login($id_utente){
		$query = "select * from utenti_registrati where id='$id_utente' " ; 
		//echo $query ; 
		$risu    = mysql_query($query) ; 
		$num   = mysql_num_rows($risu) ; 
		if($num) { 
			$arr     = mysql_fetch_array($risu) ; 
			
			$nome 	      = $arr['nome'] ; 
			$cognome 	= $arr['cognome'] ; 
			$email 	      = $arr['email'] ; 
			$password 	= $arr['password'] ;  
			$attivo 		   = $arr['attivo'] ; 
			$data_registrazione 		 = $arr['data_registrazione'] ;
			$data_ultimo_accesso	 = $arr['data_ultimo_accesso'] ; 
			
			
			//$this->load->library('email');
			$this->email->initialize(array('mailtype' => 'html'));  
			$this->email->from('info@clanny.it', 'clanny.it');
			$this->email->to($email);
			
			$this->email->subject('www.clanny.it | Dati Login');
			
			$messaggio_dati = "Gentile <b>$nome $cognome</b><br/>
			Come avvisato questa è l'email i suoi dati di login : <br/><br/>
			
			Email : <b>$email</b><br/>
			Password : <b>$password</b> <br/><br/><br/>
			
			Cordiali saluti<br/>
			Clanny.it<br/><br/>
			";
			
			$this->email->message($messaggio_dati);
			
			return $this->email->send();
			
			// echo $this->email->print_debugger() ; 
			// return 1 ; 
		} 
		else  return 0 ; 
	}
	
	
	
	// Questa è procedura che riceve i dati
	public function invia_form(){
		
		$this->load->helper('email');
		
		$data['arr_css'][0] = base_url()."assets/css/registrati.css";
		$data['arr_js'][0] = base_url()."registrati/javascript";
		$data['proprietario_bacheca'] = "Clanny.it | Registrati";
		$this->load->view('fissi/html_start' , $data);
		$this->load->view('fissi/menu');
		
		$nome 			= $this->input->post('nome');
		$cognome 	= $this->input->post('cognome');
		$email 			= $this->input->post('email');
		$password 	= $this->input->post('password');
		$informativa = $this->input->post('informativa');
		
		if($nome & $cognome && $email && $password && $informativa=="on"){
			$this->load->model('mod_auth');
			
			// prima bisogna verificare la mail
			
			if (valid_email($email)){
			
				// il controllo per sapere se la mail è presente o meno nel database
				if(!$this->registrati_model->mail_presente($email)){
					$id_utente_inserito = $this->registrati_model->registra_utente($nome , $cognome , $email , $password);
			
					if($id_utente_inserito){
						$this->load->library('notifiche_email');
						$this->notifiche_email->invia_email_registrazione($id_utente_inserito , $nome , $cognome , $email , $password) ; 
						redirect('/registrati/registra_ok') ;
					}
					else {
						$data['errore'] = "Errore al momento della registrazione dell'utente." ; 
						$data['nome'] = $nome ; 
						$data['cognome'] = $cognome ; 
						$data['email'] = $email ; 
						$data['password'] = $password ;
						$data['informativa'] = $informativa ; 
						$this->load->view("registrati/form_registrati" , $data);
					}
				}
				else{
					$data['errore'] = "La email <b>$email</b> è già presente nel nostro archivio." ; 
					$data['nome'] = $nome ; 
					$data['cognome'] = $cognome ; 
					$data['email'] = "" ; 
					$data['password'] = $password ;
					$data['informativa'] = $informativa ; 
					$this->load->view("registrati/form_registrati" , $data);
				}
			}
			else{
				
				$data['errore'] = "La email <b>$email</b> non è valida" ; 
				$data['nome'] = $nome ; 
				$data['cognome'] = $cognome ; 
				$data['email'] = "" ; 
				$data['password'] = $password ;
				$data['informativa'] = $informativa ; 
				$this->load->view("registrati/form_registrati" , $data);
			}
		}
		// Gli errori classici, del tipo : svegliati il campo tot è vuoto
		else {
			if(!$nome) $stringa_errore = "Attenzione non è stato inserito il <b>nome</b> ";
			elseif(!$cognome) $stringa_errore = "Attenzione non è stato inserito il <b>cognome</b> ";
			elseif(!$email) $stringa_errore = "Attenzione non è stata inserita l'<b>email</b> ";
			elseif(!$password) $stringa_errore = "Attenzione non è stata inserita la <b>password</b>";
			elseif(!$informativa) $stringa_errore = "Attenzione non è stato dato il consenso all'<b>informativa sulla privacy</b>.";
			
			$data['errore'] = $stringa_errore ; 
			$data['nome'] = $nome ; 
			$data['cognome'] = $cognome ; 
			$data['email'] = $email ; 
			$data['password'] = $password ;
			$data['informativa'] = $informativa ; 
			$this->load->view("registrati/form_registrati" , $data);
		}
		
		$this->load->view('fissi/html_end');
		
	}
	
	// Questa serve a recuperare la password dell'utente
	public function recupera_password(){
		$data['arr_css'][0] = base_url()."assets/css/registrati.css";
		$data['arr_js'][0] = base_url()."registrati/recupera_javascript";
		$data['proprietario_bacheca'] = "Clanny.it | Recupera Password";
		$this->load->view('fissi/html_start' , $data);
		$this->load->view('fissi/menu');
		$this->load->view('registrati/form_recupera_password');
		$this->load->view('fissi/html_end');
	}
	
	public function recupera_invia_form(){
		$data['arr_css'][0] = base_url()."assets/css/registrati.css" ; 
		$data['arr_js'][0] = base_url()."registrati/recupera_javascript" ; 
		$data['proprietario_bacheca'] = "Clanny.it | Recupera Password" ; 
		$this->load->view('fissi/html_start' , $data) ; 
		$this->load->view('fissi/menu') ; 
		$email = $this->input->post('email') ; 
		
		$num_email = $this->registrati_model->mail_presente($email) ; 
		if(!$num_email){
			$data_recupera['errore'] = "La mail inserita non è presente nel database." ; 
			$this->load->view('registrati/form_recupera_password' , $data_recupera) ; 
		}else { 
			$risultato_invio_email = $this->registrati_model->invia_dati_registrazione($email);
			if($risultato_invio_email) { 
				$this->load->view('registrati/recupera_risultato') ; 
			} 
			else { 
				$data_recupera['errore'] = "Errore nell'invio dei dati di registrazione." ; 
				$this->load->view('registrati/form_recupera_password' , $data_recupera) ; 
			} 
		} 
		
		$this->load->view('fissi/html_end') ; 
	}
	
	
	// Questa è al parte che gestisce il recupero della password
	public function invia_email_dati_registrazione(){
		
		$risu =  $this->registrati_model->invio_email_dati($this->input->post('email'));
		$risu = trim($risu);
		echo $risu ; 
	}
	
	
	public function privacy(){
		$this->load->view('fissi/html_start');
		$this->load->view('fissi/menu');
		$this->load->view('privacy/testo_privacy');
		$this->load->view('fissi/html_end');
	}
	
	public function invio_effettuato(){
		$this->load->view('fissi/html_start');
		$this->load->view('fissi/menu');
		$this->load->view('registrati/invio_effettuato');
		$this->load->view('fissi/html_end');
	}
	
	
	
	
}

/* End of file welcome.php */
/* Location: ./system/application/controllers/registrati.php */
?>
